package com.javaooptwo;

public class Demo {
    /*
    * 方法：
    *   定义：用来描述某个对象/类的行为动作。
    *   为什么要学：让程序可以模拟线下的动作和行为。
    *       //点餐系统：用户，菜单，订单，餐袋
    *   定义方法的根据：定义方法属于哪个对象的，就在哪个类中定义。
    *       //点餐系统：用户：登录，注册，点餐
    *   定义方法种类：
    *       1：返回值：
    *            带返回值：
    *               语法：public 返回值类型 方法名称(){}
    *               根据：根据业务分析的执行结果来定。
    *               返回值类型怎么确定：根据业务分析的执行结果来定。
    *
    *            带返回值:直接执行结束没有反馈结果。
    *       2：参数：
    *            带参：
    *              语法：public 返回值类型 方法名称(参数类型  参数名称,.....){}
    *              根据：根据业务分析的执行结果来定。
    *              参数类型怎么确定：根据业务分析的执行结果来定。
    *            不带参：方法的业务是固定的。
    *         tip:
    *           值传递：只会发生基本数据类型中：int long short bouble float,boolean char byte
    *               特点：在值传递的过程中，值发生变化，不会影响初始值。
    *           引用传递：只会发生引用数据类型中，String 对象 数组
    *               特点：在引用传递的过程中，引用对象的值发生变化，会影响初始值；
    *
    *       3：重载方法：
    *             前提：发生在同一个类中，2个或2个以上的方法。
    *             规则：方法名相同，参数列表不同，与返回值无关
    *
    *       4:构造方法：
    *          特点：
    *             1)：没有返回值。
    *             2):构造方法的名称和类名相同。
    *             3):所有的类都会有个默认的无参构造方法。
    *             4):如果显示的写了有参的构造，无参的默认构造方法就失效了。
    *
    *          作用：
    *            1):用来实例化对象---->无参构造方法
    *            2):用来初始化对象的成员变量---->有参的构造方法

    *       原则：
    *           在一个类中，主要显示的写了构造方法，必须成对出现。
    *
    *      5：成员变量和局部变量：
    *         定义：
    *           成员变量：是类中的属性。
    *           局部变量：是声明在方法体中的变量。
    *         区别：
    *            生命周期：
    *                成员变量是和类绑定的。
    *                局部变量和方法绑定的。
    *            作用域：
    *                 成员变量在整个类中都可以访问。
    *                 局部变量只能在当前的方法体中使用。
    *       tip:
    *         成员变量和局部变量名称可以重复，但是遵循“就近原则”。
    * */
}
